/*
 *  2019 迷宫 填空 省赛 bfs
 * */

#include <iostream>
#include <string>
#include <queue>

using namespace std;

string s[30];
const int dir[4][2] = {{1,  0},
                       {0,  -1},
                       {0,  1},
                       {-1, 0}}; // DLRU
const char c[4] = {'D', 'L', 'R', 'U'};
int vis[30][50];

struct Point {
    int x, y;
    string road;

    Point(int a, int b) {
        x = a;
        y = b;
    }
};

void bfs() {
    queue<Point> q;
    Point p(0, 0);
    p.road = "";
    q.push(p);
    vis[0][0] = 1;

    while (q.size()) {
        Point t = q.front();
        q.pop();

        if (t.x == 29 && t.y == 49) {
            cout << t.road;
            return;
        }

        for (int i = 0; i < 4; ++i) {
            int xx = t.x + dir[i][0], yy = t.y + dir[i][1];
            if (xx < 0 || xx > 29 || yy < 0 || yy > 49 || vis[xx][yy] || s[xx][yy] == '1') {
                continue;
            }

            Point tt(xx, yy);
            tt.road = t.road + c[i];
            q.push(tt);
            vis[xx][yy] = 1;
        }
    }
}

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr), cout.tie(nullptr);

    for (int i = 0; i < 30; ++i) {
        cin >> s[i];
    }

    bfs();

    return 0;
}